home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
076-100
/
scopedisk81
/
asmtool1
/
test1.asm
< prev
next >
Wrap
Assembly Source File
|
1995-03-19
|
2KB
|
58 lines
; TEST1.ASM by Warren A. Ring
;
; This program picks up the first six
; english words on the CLI line following "TEST",
; and, for each word, displays that word, converts
; that word, if possible, to a 4-byte signed
; integer, adds that integer to a total, converts
; that integer back to an ASCII string, and
; displays that string. A concatenation of the
; six words is displayed on the next line, and the
; total is displayed on the next line.
section code
include "libs:types.i"
include "libs:dos.i"
include "macros.asm"
Start ;Perform startup housekeeping
MOVE.L #5,D2 ;Set the counter to 5
X1
Scanw #Word ;Display the first (next) english word from
Display '=' ; the CLI residue, surrounded by "="
WritCon #Word
Display '='
Space ;Display " "
AtoI #Word,Value ;Convert the word to an integer, and back to a
ItoA Value,#Word ; string
WritCon #Word ;Display the resulting string
StrCat #Word,#Buffer;Concatenate the word onto the final string
Crlf ;Display a CR
MOVE.L Value,D0 ;Add the integer value to
ADD.L D0,Total ; the total
DBRA D2,X1 ;Decrement the counter
;If the counter is not yet negative, then jump to X1
WritCon #Buffer ;Display the final string
Crlf ;Display a CR
Display <'The total is: '>
ItoA Total,#Buffer;Convert the total integer
WritCon #Buffer ; to a string, and display it
Crlf ;Display a CR
Exit ;Perform ending housekeeping, and exit
include "warlib.asm"
section data
StrBuf Buffer,80
StrBuf Word,16
Value DS.L 1
Total DC.L 0
end